package com.huluwa.picture.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.huluwa.picture.model.dto.webcollection.WebCollectionAddReqeuest;
import com.huluwa.picture.model.dto.webcollection.WebCollectionQueryRequest;
import com.huluwa.picture.model.entity.WebCollection;
import com.huluwa.picture.model.vo.WebCollectionVO;

/**
* @author luyifan
* @description 针对表【web_collection(网站收藏)】的数据库操作Service
* @createDate 2025-02-01 00:12:33
*/
public interface WebCollectionService extends IService<WebCollection> {


    /**
     * 添加网站
     * @param webCollectionAddReqeuest
     * @return
     */
    Integer addWebCollection(WebCollectionAddReqeuest webCollectionAddReqeuest);


    /**
     * 校验参数
     * @param webCollection
     *
     */
    void validWebCollection(WebCollection webCollection);


    /**
     * 获取查询条件
     * @param webCollectionQueryRequest
     * @return
     */
    QueryWrapper<WebCollection> getSearchQueryWrapper(WebCollectionQueryRequest webCollectionQueryRequest);

    /**
     * 填充数据
     * @param webCollection
     */
    void fillWebCollection(WebCollection webCollection);


    /**
     * 返回分页包装对象
     * @param page
     * @return
     */
    Page<WebCollectionVO>  getWebCollectionPage(Page<WebCollection> page);



    /**
     * 返回包装类对象
     * @param webCollection
     * @return
     */
    WebCollectionVO getWebCollectionVO(WebCollection webCollection);
}
